package Futbol_Liga;
/**
 * Zerrenda generiko motakoa da, jardunaldi baten partidu zerrenda gordeko da. 
 * Bere metodoak erabiliz partidu zerrendaren simulazioa egin ahalko dugu, partiduak gehitu zerrendara baita jokalarien golak lortu.
 * @author Txantxangorriak
 *
 */
import java.util.ArrayList;
import java.util.Iterator;

public class PartiduZerrenda {

	private ZerrendaGen<Partidua> partiduak;
	/**
	 * metodo eraikitzailea
	 */
    public PartiduZerrenda() {
		
    	partiduak=new ZerrendaGen<Partidua>();
	}
    /**
     * Partidu bat gehitu egingo du zerrendara
     * @param pPartidua
     */
	public void osagaiaGehitu(Partidua pPartidua) {
		partiduak.osagaiaGehitu(pPartidua);
		
	}
	/**
	 * Zerrendako iteratzailea bueltatuko du
	 * @return Iterator<Partidua>
	 */
	public Iterator<Partidua> getIteratzailea(){
		return partiduak.getIteratzailea();
	}
	/**
	 * Jokalari baten golak lortuko dira metodo honekin
	 * @param jokalariak
	 * @param golak
	 */
	public void lortuJokalarienGolak(ArrayList<Jokalaria> jokalariak, ArrayList<Integer> golak) {
	
		Iterator<Partidua> it=this.getIteratzailea();
		Partidua par;
		
		while(it.hasNext()){
			par=it.next();
				par.lortuJokalarienGolak(jokalariak, golak);
			
		}
		
	}
	/**
	 * Metodo honekin, liga hasieratu egiten da 
	 */
	public void simulazioaEgin() {
		
		Iterator<Partidua> it=this.getIteratzailea();
		Partidua par;

		while(it.hasNext()){
			par=it.next();
			par.simulazioaEgin();
		}
		
	}
	/**
	 * Zerrendako osagai kopurua bueltatzen du
	 * @return int
	 */
	public int size() {
		
		return partiduak.getOsagaiKop();
	}
	/**
	 * Jardunaldi bateko kiniela bueltatzen da
	 * @return String
	 */
	public String kiniela() {
				Iterator<Partidua> it=this.getIteratzailea();
				Partidua par;
				String kiniela="KINIELAKO DATUAK";
				while(it.hasNext()){
					par=it.next();
					kiniela = kiniela +"\n"+ par.kiniela();
					
				}
		return kiniela;
	}
		
	
}
